//Promise可以解决回调地狱，转为.then的链式调用,但是会形成链式地狱，
//async / await 是 ES8 (ECMAScript 2017）引入的新语法，用来简化 Promise 异步操作

//引入fs模块
import fs from "fs";

//封装读取文件函数
const myReadFile = (url) => {
  return new Promise((resolve, reject) => {
    fs.readFile(url, "utf-8", (err, dataStr) => {
      !err ? resolve(dataStr) : reject(err);
    });
  });
};

//封装整个读取过程
//函数必须用async修饰，每一个Promise对象之前用await修饰,让异步操作以同步的形式来写
//使用try，catch去捕获错误
const readFiles=async ()=> {
  const r2 = await myReadFile("./text/2.txt");
  console.log(r2);
  const r1 = await myReadFile("./text/1.txt");
  console.log(r1);
  const r3 = await myReadFile("./text/3.txt");
  console.log(r3);
}

readFiles();
